home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EuroCD 3
/
EuroCD 3.iso
/
Music
/
SMT
/
Manual
< prev
next >
Wrap
Text File
|
1998-06-24
|
30KB
|
700 lines
Steev's MIDI Trigger
Version 2.30
Copyright 1995-7 by Steven Goodwin
This version is freely distributable, providing ALL the files,
environments, samples, MODs and programs remain intact (and with my
Copyright notice attached), with no alterations, additions or
deletions.
The license supplied with the software is such that you may use it
for 30 days. After such time you should either register the software
(see bottom of file) or delete all SMT software from your disks
(including samples, MODs and environment files), with no intent of re-
gaining SMT at a later date.
-- Abstract --
This is a simple program, with a lot of hidden potential. It plays
various samples (through the Amiga's internal hardware), upon the
triggering of certain notes through the MIDI interface, or the Amiga's
own keyboard.
Each note can trigger a different sample (assuming you've enough
CHIP RAM available), or they could trigger the same one at different
pitches. For example, a combination of the above methods allows four
(or more) piano samples to be played across the range of the entire
keyboard giving very high quality reproduction. The demo environment
'Virtual_Piano.mte' shows how this can be done, and is a very useful
feature when you have keyboard without a particularly good sounding
piano (eg. mine!).
It is also possible to get the notes to play the 'wrong'
frequencies. So, when you play a C-2 on the keyboard, the program will
replay a sample at F-2. This provides a very abstract piano which can
provide unexpected results by playing familiar note sequences.
By using different samples, you can 'jam' along with other
musicians and create your own ambient and aural soundscapes very
easily. It is also very easy to use a four-track tape recorder to
build up several layers of a live performance using the MIDI trigger,
without resorting to sequencing or programming. By using non-musical
samples (door creaks, screams etc) this program would be capable of
providing an audio backdrop for a play or video production, without
the hassle of setting up tapes to play at the precise point of an
effect.
There is also MOD support. This allows you to load in a standard
soundtracker module, and play it while you are jamming out a top line.
This facility makes it very good for re-mixing, live techno
performances or as a DJ supplement! You can program a simple breakbeat
loop and bass line on the tracker, and then add vocals, scratchs,
bleeps and other sounds on the remaining tracks. This can create a
musically absorbing experience! The demo environment 'House_Music.mte'
shows this.
My final suggestion (although there are no doubt others), is to
trigger breakbeats from individual keys, and build a song up from
there. Many upbeat electro and techno tracks are very simple in
structure, so you could sample several two bars segments from both the
verse and chorus and trigger them from the bottom two octaves of the
keyboard. The upper octaves could then be used for extra effects as
mentioned above. Wow! What versatility!!!
What makes this so special? AWE. The interface was written using
AWE running under AMOS. This allows you several requesters open at the
same time, just like Workbench. It also allows you to access one
function, without closing another one down. So, for example, imagine
you were about to assign a sample to a note, but had forgotten to load
the sample! Normally with AMOS, you've have to close down the
requesters, load the sample into memory, re-open the requester (making
the necessary edits), and THEN assign the new sample. Using AWE you
can load a sample while the sample list is shown on-screen. Then, when
the sample has been loaded, the sample list will be updated for you to
select the correct one!
-- How To Use Steev's MIDI Trigger --
The main screen has a scrolling list on the left, detailing each of
the notes available for triggering, along with the sample it will
play, and the pitch. Throughout SMT, the pitch can be given as either
a note name (C2 F#1 etc), or a frequency in Hertz (Hz). This latter
facility allows fine tuning. Just for reference, SMT uses A-2 as 440
Hz. The maximum pitch for an internal sample is B-3 (the same as a
standard tracker). Anything above this will not sound.
The right hand side of the screen has a variety of buttons. These
are split into two sections. The upper half references the
'Environments', the lower the 'sample' and 'note' data. Each of these
meanings (in the context of SMT) will now be explained, along with the
associated buttons.
-- Environments --
Overview: These hold details of the complete memory. This means every
sample, and all the note data (eg. its frequency, input and output
parameters). Other information like the backing track MOD, and its'
triggers are also part of the environment. However, the environment
file does not contain any sample data. In fact, it never does. Samples
and MOD's are always stored separately to reduce filesize, and allow
the same sample to be used in different places without taking up extra
disc space. If you "read" the environment file (used a standard text
editor) you will find the sample paths listed.
The four options to manipulate environments are:
New Environment: Clears out the entire data file, and all
sample data from memory. Nothing is left! If
you just want to clear the note data, then
select the 'Clear Data' button (see below).
Load Environment: This will load the environmental data file
from disc, and then proceed to load each
sample required for it in turn. The backing
MOD (if appropriate) is also loaded. If a
sample can not be loaded, the load will
terminate, leaving you with nothing!!!
Save Environment: Saves the data file to disc. No samples are
saved with this option. The MOD is not saved
either.
Full Save: Saves the data file, AND the samples to disc.
This option is recommended for floppy disc
users, or those who do not have the samples
required on their hard drive, as it saves a
lot of disc swapping as the program attempts
to locate each sample. The MOD will also be
saved, if it exists. As noted above, all of
the supplement music data (eg. samples) are
saved in separate files, and not joined with
the environment file.
-- Samples --
These are always loaded and saved in raw, signed, format (the usual
for Amiga software). Each sample (once loaded) will cause a 'Sample
Attributes' requester to appear. This has the following controls,
Reference Name: The name of the sample (without the path) as a
default. You can change this if you want by
clicking in the box, and typing in the new
name. This name will be shown in the main
scrolling list wherever that sample is used,
so it is best to make it fairly descriptive
and/or recognisable.
Full File Name: The complete path of the sample. Best to
leave it as it is.
Default Frequency/Note: This is the pitch at which the sample will be
played at normally. It is not necessary to
alter these values, unless you will be using
that sample a lot at the default pitch, as the
pitch of the sample can be altered in later
requesters.
Once the information in this requester is correct you should click
OK. The 'cancel' button does not un-load the sample, it just uses the
original contents of the requester (i.e. the original reference name
and default frequency).
-- Replace Sample --
This is the same requester as above, except it provides the
opportunity to load a new sample into the current slot (the file
requester button to the right of the file name). This allows you to
experiment with different bass sounds (for example), without re-
programming all the notes. Simple, but effective!
-- Note Data --
The scrolling list on the main screen details each note, and its
associated sample. By double clicking on one of these entries (or
selecting EDIT PARAMETERS with a note in the display box underneath
the list) you will bring up the 'Note Parameters' window. All of the
information shown (and that obtained from it) is collectively known as
the 'note data'.
Input: This brings up a small window with 16 check boxes in.
Each box relates to a MIDI channel. Using this you can
mask off certain MIDI channels from SMT. By masking
off channels 10-16 (for example) you get the Amiga to
produce sounds for channels 1-9 ONLY. This is helpful
when you have keyboard that sends drum data you do not
want the Amiga to see.
Output: This requester allows you to specify which channel the
sound comes out on. There are four options here, and
the appropriate one is marked by its radio button.
1)Specific Channel: The sound will ALWAYS come out on
the channel(s) specified by the tick boxes. It
will cut out any other sound already playing
on that channel, including MOD music.
2)Alternate Between: The sound will toggle between the
single channels reference by the ticks. There
will only ever be one channel of sound. This
will also cut out all other notes on the
channel.
3)Next Free Channel: Whatever channel was used least
recently will be used. Note: This does not
take into account any MOD that is playing.
Thus, this option is NOT very useful for
mixing MODs with trigger notes.
4)MIDI, soft thru. Sends the note straight back to
your synth. It is best to use this to play
long string parts or chords.
There is also a check box labelled 'Sample Link?'.
this is new (V2.0) feature that allows you to combine
the 'alternate between' option between several notes
using the same sample. In other words, the sample
will be played on the alternate channels as usual,
but the count of which channel to use will be kept
global to all the notes using this sample and the
'Sample Link' option. This is best used to implement
a virtual piano on only two channels, while the others
are used for playing a MOD, or other samples.
Change Sample: This brings up the sample list requester. A double-
click will tell the computer which sample you wish
to use, and return you to the 'note params' req.
Test Sample: This plays the current sample at the pitch shown
in the window.
Default: Both buttons force the relevant sample default data
into the text requester. This is the same data as
set up in the 'Sample Attributes' requester.
The 'output' and 'input' requesters can be opened directly from the
main screen in the same way as the 'Note Parameters' requester. Both
access and edit the same data, but there is one minor difference in
their working. If you open the 'output' window from the 'Note
Parameters' window, then, when you close 'Note Parameters' the
'output' window is automatically closed. This is because it is it's
'child'. However, when opened from the main window 'output' belongs to
the main window, and so can be closed from its own OK/Cancel
button...or the main window. Similarly, if you close the main window
it will close its child of the 'output' window....but closing the main
window will also quit the program!
Looping sounds can be achieved by using the three radio buttons near
the base of the requester. These are:
Off: No looping. This makes each sample a 'one-shot' sample
(which is the default for versions 2.1 and lower). Any
old environments will default to this.
Always: The sample will loop until the trigger is stopped, or
another requires the channel.
Until release: The sample loops until you release the key pressed, if
you are using a MIDI keyboard. Because of the way SMT
works (it buffers samples in memory, ready to play
when one finishes) when you release the key the sample
will loop around again before stopping. This is OK. It
happens because there is still a sample in the buffer,
and the OS takes it automatically. If you find this a
problem, there is one more feature to mention...
'Cut Sample On Key Up' - This check box will stop the sample the
moment you take your finger off the key. This is best used with 'loop:
until release'.
Note: Looped sounds work best when kept on a specific channel, or
channels. Looping them on 'next free channel' can confuse SMT as it
does not know what channel it should play them on. Eg. Does it mean
'loop on next free', or 'loop on same channel again..even if its not
free?'. The results of this action are undefined.
Note: It is not advisable to use looped and cut-off samples from the
Amigas keyboard. This is because the keyboard matrix can sometimes
miss a key up, making it impossible to re-trigger the sample without
first playing another on the same channel, or pressing 'space' to
clear all the samples playing.
-- Note Range --
For some environments (the virtual piano for instance), it would be
very time consuming to enter data for every note. This feature assumes
the frequency of each note will be evenly spaced, and does all the
hard work for you (ahhh!).
For Note Range: This specifies which notes are to be affected. You
should enter them in 'standard form'. eg. C 2 D#3
However, the program is currently smart enough to
accept "b1", "F 4", "f# 3".
Change Sample: ...and...
Test Range: ...and...
Input: ...and...
Output: These are all the same as normal. The setting of these
options are replicated in each note that the option
produces. Note: This does not necessarily mean EVERY
note between the specified note range, as it is
possible to tell the computer to ignore data already
programmed in.
Change..from.: These provide the pivot points. The computer will
scale between the frequency/notes specified. Both this
and the 'note range' parameters will be executed in
the order given, so it is also possible to scale notes
into descending order if you so wish.
Note: The standard musical scale is NOT a linear relationship! That
is, the frequency difference between successive notes is not the same.
In fact, the frequency of each semi-tone increases by a *factor* of
1.0594631. This is not necessarily a bad thing though, as some
interesting effects can be achieved using an even-frequency scale.
The current sample name is shown in the bottom requester bar, and is
carried over between subsequent 'Range' calls. But it is the only
piece of information that is.
-- Backing Track --
This option details the module to play in background. This is obvious
an optional feature, but if used it can be invoked in two ways:
1) Type in the full file name and path into the upper text requester.
SMT will then attempt to load the file when you OK this window.
2) Press the 'file requester' button on the right. A successful
filename will be automatically entered into the text requester.
The three cyclic buttons specify the trigger to Start, Stop or Pause
the MODule during the triggering phase. The defaults are:
START MODULE Left mouse button
STOP MODULE Right mouse button
PAUSE MODULE Fire button of first joystick
It is possible to use the left button (for example) to start AND
stop the module as SMT will see if the MOD is playing before
determining which option to execute. It is not advisable to use the
same trigger to PAUSE and either START or STOP the MOD, as this is
confusing. Also, it is not possible to use the same trigger for all
three options...this is just as confusing!
The option to allow 'keys' to start the MOD is actually triggered
from any key that does NOT produce a note (ie the main alpha-numeric
key set - see later).
The default setup is suggested because it allows you to re-start a
module immediately (without having to stop it playing first). This
provides a good 'scratch' effect for the first bar of a song.
As a suggestion to semi-pro artistes...why not get a couple of foot
switches and wire them in parallel to the standard mouse buttons. This
will allow you to control the modules from the floor, allowing you to
position yourself away from the Amiga. The registered version of SMT
includes a stand-alone player which reduces the amount CHIP ram taken
by the program (by not using a full interface) and can be used to run
a batch of environment files upon termination of the previous.
-- Test Trigger --
This is IT. This is the option that actually *does* something.
Clicking on this permits you start triggering! During this time you
can not access, move, or close any of the windows on the screen. But
all the standard trigger keys (including the mouse buttons for MOD
control) still work. Use both mouse keys (as directed by the on-screen
prompts) to exit.
-- Using The Amiga's Keyboard To Trigger SMT --
SMT uses the "standard" keyboard layout, as used in OctaMED and
other trackers. That is, the keyboard is split into two octaves, one
above the other thus:
S D G H J L ;
Z X C V B N M , . / for C-1 to E-2
and
2 3 5 6 7 9 0 = \
Q W E R T Y U I O P [ ] for C-2 to G#3
There is also the option of increasing the pitch of the note by an
octave by pressing either SHIFT key. You can transpose up by two
octaves using ALT, and three by either AMIGA key.
There are also two other 'special' keys. The space bar and return
key both 'refresh the module'. Because you can not play samples at the
same time as the MOD (on the same channels), the current MOD channel
has to be muted while the sample plays. This should un-mute shortly
after the sample has finished playing. But if it doesn't, either of
these keys will let the MOD play on all 4 channels again. Some
interesting sound effects (i.e. noises) can be achieved by forcing a
channel refresh before your sample has actually finished playing.
-- Keyboard Shortcuts --
These are available throughout the product. The appropriate key is
indicated by an underscore. That key should be pressed to activate the
button. No other qualifying key is required.
There is also a prevailing general rule that the OK and Cancel
buttons can always be executed by use of the Return and Escape keys
(respectively). This feature is not availible on 'Clear Data' because
of its implications.
-- The Demonstration Environments --
There are three included with SMT V2.1. They are,
Virtual_Piano.mte
House_Music.mte
GM_Drums.mte
Virtual Piano
This is simplest to use. The lower four octaves contain there own
piano sample, each played on the next free channel. This is a fairly
good attempt at a piano. The problem lies within the limit of 4 audio
channels on the amiga, and so if you are a good pianist (or you just
play lots of notes) you will hear a very definite cut-off of the
samples.
An interesting effect can be achieved here by using the Amigas
keyboard to hold down a chord. Because the computer has a key repeat
facility the notes held down will also repeat. They cut off those
already playing and start sounding anew. Try it, and hear what I mean.
I'm sure someone will use it as a intro to at least *one* song!!!!
House Music
This is essentially a re-mixing console for all the DJ's and DJ-
wannabes out there (i.e. me!). This contains two octaves of FX/vocals
and general house sounds (circa 1988), a backing MOD (of originally
composed music - including a not-very-original backing riff!), and
MIDI thru' on the top octaves, permitting 'house piano' noises etc.
Generally, the white keys produce vocals, the black notes-FX. Also,
the first octave C-1 to B-1 puts the sounds out on the right channel
(the MOD always leaves this empty), and the second octave uses the
left channel (often empty, but sometimes containing extra melodies).
The specific layout of the keys is thus:
C-1 Z Ah yeah (vocal) Left Channel
C#1 S Record scratch (sharp)
D-1 X Check This Out (vocal)
D#1 D Record scratch 2
E-1 C Give It To Them (vocal)
F-1 V Hit It (vocal)
F#1 G Metal Keys (at C-2) (use for extra melodies)
G-1 B House Man (vocal)
G#1 H Metal Keys (at D#2)
A-1 N You Got It (vocal)
A#1 J metal Keys (at G-2)
B-1 M Ecstasy (vocal)
C2-B2 as as C1-B2 except on the right the channel, the only
differences are:
C#2 2 Orchestra hit (pitched low- D2)
D#2 3 Orchestra hit (powerful, different to the others)
F#2 5 Orchestra hit (at F2)
G#2 6 Orchestra hit (at G2)
A#2 7 Orchestra hit (at A2)
The backing track module uses the default keys of,
START MODULE Left mouse button
STOP MODULE Right mouse button
PAUSE MODULE Fire button of first joystick
GM Drums
This mimics the General MIDI spec for drum and percussion sounds. I
personally own no such equipment, and so can not verify the
correctness of the mappings or sounds, but I have not received any
complaints so far!
I see this being used to try out complex drum patterns from GM
files fed into the SMT from another Amiga, or a lesser-sequencer :-)
It could also be used to take signals from a set of drum pads to give
a 'virtual drum kit'. I, myself, am on the lookout for such a kit
because I envisage it being so much fun!
The key map used is:
C-1 Kick Drum
C#1 Stick
D-1 Snre
D#1 Claps
E-1 Snare (crisp)
F-1 Lo Tom (2)
F#1 Closed Hi Hat
G-1 Lo Tom (1)
G#1 Opening Hi Hat
A-1 Mid Tom (2)
A#1 Open Hi Hat
B-1 Mid Tom (1)
C-2 Hi Tom (2)
C#2 Crash Cymbal
D-2 Hi Tom (1)
D#2 Ride Cymbal
E-2 Chinese Boom
F#2 Tamborine
G-2 Crash/Splash cymbal
G#2 Cowbell
A-2 Crash Cymbal (2)
B-2 Ride Cymbal (2)
C-3 Hi bongo
C#3 Lo bongo
D-3 Congo Slap
D#3 Congo Hi
E-3 Congo Low
F-3 Timbale Hi
F#3 Timbale Low
A 3 Cabasa
A#3 Maracas
C#4 Short Guiro
D-4 Long Guiro
D#4 Claves
E-4 Woodblock Hi
F-4 Woodblock Low
G#4 Triangle
A-4 Triangle (2)
A#4 Shaker
C-5 Castinets
You may notice a few gaps in here, compared to the actual GM drum kit.
That is because I seem to be a couple of samples short, and have not
tried to substitute any others.
-- Problem Shooting --
Not that there should be problems of course....
Q. SMT can't find any of the samples? I've looked, but they are there!
A. Are the paths in the environment file wrong? Are the samples on a
disc of the right name? Have you copied SMT to a hard drive, and
forgotten to use an 'assign smt: dh0:smt/' (or similar) command? I
would add a line to your "s:user-startup" file, to make things
easier. Similarly, the floopy should be named "SMT".
Q. SMT keeps using the floppy disc, when I'vr got it installed on my
hard drive. Why?
A. The floppy disc is a device, and so take priority over the name
"SMT:" when used as a assign to your hard drive. Take the floppy
out of the drive!
Q. My computer keeps saying "Out of memory". Why?
A. The answer is very simple, my friend....You need more CHIP ram.
Both the interface and samples require lots of it! It does work on
an A500 with 1/2 Meg Chip machine (I've got one) but you probably
won't be able to multitask much with it.
I would suggest you use the "About" box to keep a check on the
CHIP ram you have available, anything less than 50K, I'd expect the
machine to crash very shortly!
Q. The environment icon won't load the SMT program!
A. The program must be called "Trigger" on a disc, or in "assign"ed
directory called "SMT:".
Q. The environment icon will load the SMT program... but says it can't
find the environment file?
A. The environment file (and thus its icon) must be in the same
directory as the SMT program (SMT:). This is because as soon as the
program has loaded, the directory is SMT: ... so when it looks for
your environment file it can't find it.
-- SMT - Version List --
Heres a rather potted history of the various SMT versions that are
probably still floating around on FTP sites, and PD libraries...
1.0 So old, I'd rather forget about it!
1.1 Added the all important m/c. Added touch sensitive control.
1.2 Allowed MOD playing.
2.0 Brand new AWE interface.
Added sample link idea.
Allowed the Amiga's keyboard to be used.
Added my picture to the main screen, and the title screen ;-)
Improved a load of stuff I should have done ages ago!!!!
2.1 Improved the MC, added MIDI program changes. Corrected a few
niggly bugs from 2.0.
2.2 Added sound looping (at last!!!)! Used the key messages to
stop loops and cut off samples.
2.3 Changed the key handling routines back to v2.1 to give certain
users *that* trick with the Amigas keyboard!
-- THE END --
That's all you're getting for documentation! Pretty hefty though,
really. Nevermind, if your starved of docs and want something else to
read, then why not register 'Steev's MIDI Trigger', and learn about
the file format, the source code, AWE programming and a whole load of
little tricks!
-- Registered Users Pack --
Executable code for: The SMT stand-alone player.
The latest version of SMT.
Source code for: Steev's MIDI Trigger in AMOS and ASCII formats
The assembler code for SMT. In plain ASCII,
suitable for GenAm 2+
SMT stand-alone player (in AMOS and ASCII).
Documents for: The stand-alone player.
The SMT file format.
How to get it: Send me a fiver (such a small price, for such great
software) and I'll send you a disc with all the above stuff on it! If
you've got a printer then why not use this to make it very easy:
o/_________________________ CUT HERE ________________________________
O\
Your Name:_______________
Address :_______________
_______________
_______________
_______________
Hi Mr. Steven Goodwin,
I would like to register Steev's MIDI Trigger because,
a) I'm a semi-pro and want to help out a would-be semi-pro
b) It would be nice to get a letter that ISN'T a bill this week!
c) I'd like to find out how you read the MIDI port in AMOS.
d) I want you to guess the typeface on my printer.
e) I have a tremendous guilt complex!
f) All of the above (circle as appropiate)
I enclose a cheque/postal order for #5 (which includes P&P) because
I'm a kind hearted soul who cares about the people who make the
software I use and enjoy!
Thanks very much,
Name ________________ (not completely necessary, but ties up the
letter nicely)
o/_________________________ CUT HERE ________________________________
O\
Contact address:
Steven Goodwin
105 St. Johns Road
Clacton-on-Sea
Essex CO16 8DB
Disclaimer:
I make no warranties, implied or otherwise, in the distribution of this
software. No responsibility is taken for the loss of data, information
or sanity whilst using this software. So there!